home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / misc / amag / 9301b.lha / Schach / Sourcecode / Adt.h next >
C/C++ Source or Header  |  1992-12-03  |  1KB  |  77 lines

  1.  
  2.  /* Adt.h : Abstrakte Datentypen */
  3.  
  4.  /* Farbe: */
  5. #define weiss 0
  6. #define schwarz 8
  7. typedef int Farbe;
  8.  
  9.  /* Figur: */
  10. #define wbauer 1
  11. #define wspringer 2
  12. #define wlaeufer 3
  13. #define wturm 4
  14. #define wdame 5
  15. #define wkoenig 6
  16. #define sbauer 9
  17. #define sspringer 10
  18. #define slaeufer 11
  19. #define sturm 12
  20. #define sdame 13
  21. #define skoenig 14
  22. #define leer 16
  23. #define bauer 1
  24. #define springer 2
  25. #define laeufer 3
  26. #define turm 4
  27. #define dame 5
  28. #define koenig 6
  29. #define farbmask 24
  30. #define figmask 7
  31. typedef int Figur;
  32.  
  33.  /* Feld: */
  34. #define yposmask 15
  35. typedef int Feld;
  36.  
  37.  /* Special: */
  38. #define wkroch 0x0100
  39. #define wlroch 0x0200
  40. #define skroch 0x1000
  41. #define slroch 0x2000
  42. #define wroch 0x0300
  43. #define sroch 0x3000
  44. #define epmask 0x00ff
  45. typedef int Special;
  46.  
  47.  /* Zug: */
  48. struct Zug {
  49.     Figur figur;
  50.     Feld start;
  51.     Feld ziel;
  52. };
  53.  
  54.  /* Zugstat: */
  55. struct Zugstat {
  56.     struct Zug zug;
  57.     long knoten;
  58.     long zeit;
  59.     int wertung;
  60. };
  61.  
  62.  /* Knoten: */
  63. struct Knoten {
  64.     struct Zug zug;
  65.     struct Knoten *nachbar;
  66.     struct Knoten *nachfolger;
  67.     int zugwertung;
  68. };
  69.  
  70.  /* Ereignis: */
  71. #define zugs 0
  72. #define ende 1
  73. struct Ereignis {
  74.     int ereignistyp;
  75.     struct Zug zug;
  76. };
  77.